package com.zhuss.product.db.dao.ext;

import com.zhuss.bean.bo.product.line.SearchLineBo;
import com.zhuss.bean.bo.product.preline.SearchPrelineBo;
import com.zhuss.product.db.entity.PrelineSign;
import com.zhuss.bean.bo.product.preline.SearchPrelineSignBo;
import com.zhuss.bean.vo.product.preline.ListPrelineSignVo;
import com.zhuss.bean.vo.product.preline.DetailPrelineSignVo;

import java.util.List;

import org.apache.ibatis.annotations.*;

import com.zhuss.product.db.dao.gen.*;

/**
 * @description: 招募报名数据库Dao
 * @author: zhushanshuo
 * @create: Wed Jan 06 16:26:20 CST 2021
 **/

@Mapper
public interface PrelineSignDao extends PrelineSignMapper {
	
	void create(PrelineSign record);
	
	void delete(PrelineSign record);

	List<PrelineSign> listAll();

	List<PrelineSign> listById(@Param("prelineSignIdList") List<Long> prelineSignIdList);
	
	List<PrelineSign> listByName(@Param("name") String name);
	
	List<ListPrelineSignVo> list(SearchPrelineSignBo bo);
	
	Integer countList(SearchPrelineSignBo bo);

	DetailPrelineSignVo detail(@Param("prelineSignId") Long prelineSignId);

	int countByPrelineId(Long prelineId);

    int countApply(SearchPrelineBo bo);
    
    Integer countUserApply(@Param("userId") Long userId, @Param("prelineId") Long prelineId);

	DetailPrelineSignVo getDetail(DetailPrelineSignVo bean);

	List<Long> listByUser(SearchLineBo bo);
}
